🔐 API de UsuarioPermissaoTipoMensagem - Documentação Completa

📋 Visão Geral

A API de UsuarioPermissaoTipoMensagem é responsável por toda a gestão de permissões de usuários para tipos de mensagem no sistema CordenaAi, incluindo controle granular de quais tipos de mensagem cada usuário pode receber, adição, remoção e verificação de permissões. Esta API fornece a base para o sistema de comunicação personalizado, permitindo que administradores controlem o fluxo de mensagens por usuário e tipo.

🎯 Endpoints Disponíveis

🔐 UsuarioPermissaoTipoMensagem - Gestão de Permissões de Tipos de Mensagem

1. GET /api/UsuarioPermissaoTipoMensagem/usuario/{usuarioId}

Obter Permissões por Usuário

2. GET /api/UsuarioPermissaoTipoMensagem/todas

Obter Todas as Permissões

3. POST /api/UsuarioPermissaoTipoMensagem

Adicionar Nova Permissão

4. DELETE /api/UsuarioPermissaoTipoMensagem

Remover Permissão

5. GET /api/UsuarioPermissaoTipoMensagem/verificar/{usuarioId}/{tipoMensagemId}

Verificar Permissão Específica

🔧 Modelo de Dados

Estrutura da Permissão

{
  "id": "int",
  "usuarioId": "string",
  "nomeUsuario": "string",
  "userName": "string",
  "tipoMensagemId": "int",
  "nomeTipoMensagem": "string",
  "ativo": "boolean",
  "criacao": "datetime",
  "atualizacao": "datetime",
  "historicoPermissao": "string",
  "opcoes": "string"
}

DTOs de Requisição

AdicionarPermissaoRequest

{
  "usuarioId": "string",
  "tipoMensagemId": "int",
  "historicoPermissao": "string",
  "opcoes": "string"
}

RemoverPermissaoRequest

{
  "usuarioId": "string",
  "tipoMensagemId": "int"
}

Tipos de Mensagem Disponíveis

ID Tipo Descrição
1 SemCategoria Mensagens sem categoria específica
2 Urgente Mensagens urgentes que requerem atenção imediata
3 Informativo Informações gerais e atualizações
4 Evento Comunicações sobre eventos e atividades
5 Financeiro Informações financeiras e pagamentos
6 Feriado Avisos sobre feriados e datas especiais
7 Coordenacao Mensagens da coordenação pedagógica
8 Comunicado Comunicados oficiais da instituição
9 Calendario Informações sobre calendário acadêmico
10 Pesquisa Pesquisas e questionários
11 Avaliacao Avisos sobre avaliações e provas
12 Convocacao Convocações para reuniões e eventos
13 Atividade Informações sobre atividades extracurriculares

🔐 Autenticação e Autorização

Todos os endpoints requerem:

📊 Casos de Uso Principais

1. Configuração Inicial de Permissões

POST /api/UsuarioPermissaoTipoMensagem
Content-Type: application/json
Authorization: Bearer {token}

{
  "usuarioId": "user-123",
  "tipoMensagemId": 2,
  "historicoPermissao": "Permissão inicial para mensagens urgentes",
  "opcoes": "{\"prioridade\": \"alta\"}"
}

2. Verificação de Permissão Antes do Envio

GET /api/UsuarioPermissaoTipoMensagem/verificar/user-123/2
Authorization: Bearer {token}

3. Consulta de Permissões do Usuário

GET /api/UsuarioPermissaoTipoMensagem/usuario/user-123
Authorization: Bearer {token}

4. Remoção de Permissão

DELETE /api/UsuarioPermissaoTipoMensagem
Content-Type: application/json
Authorization: Bearer {token}

{
  "usuarioId": "user-123",
  "tipoMensagemId": 5
}

5. Auditoria de Permissões (Admin)

GET /api/UsuarioPermissaoTipoMensagem/todas
Authorization: Bearer {token}

⚠️ Validações e Regras de Negócio

Validações Obrigatórias

Regras de Negócio

🚨 Tratamento de Erros

Códigos de Status HTTP

Formato de Erro

{
  "error": "string",
  "message": "string",
  "details": "string",
  "timestamp": "datetime"
}

📈 Performance e Limitações

Limitações

Otimizações

🔄 Integração com Outros Módulos

Módulos Relacionados

📱 Uso em Aplicações

Web App

Mobile App

Sistema de Mensagens

🛠️ Manutenção e Monitoramento

Logs Importantes

Métricas Monitoradas

📚 Exemplos Práticos

Fluxo Completo de Configuração de Permissões

  1. Verificação de usuário existente
  2. POST /api/UsuarioPermissaoTipoMensagem com dados da permissão
  3. Validação de dados e regras de negócio
  4. Criação da permissão no banco de dados
  5. Atualização do cache de permissões
  6. Log da operação para auditoria

Fluxo de Verificação de Permissão

  1. GET /api/UsuarioPermissaoTipoMensagem/verificar/{usuarioId}/{tipoMensagemId}
  2. Consulta no cache ou banco de dados
  3. Validação do status ativo da permissão
  4. Retorno do resultado da verificação
  5. Log da consulta para monitoramento

Fluxo de Remoção de Permissão

  1. DELETE /api/UsuarioPermissaoTipoMensagem com dados da permissão
  2. Verificação da existência da permissão
  3. Soft delete (marcação como inativa)
  4. Atualização do cache de permissões
  5. Log da operação para auditoria

🔧 Configurações Avançadas

Opções JSON

O campo opcoes permite configurações personalizadas:

{
  "prioridade": "alta",
  "horariosPermitidos": ["08:00-18:00"],
  "canaisPreferidos": ["push", "email"],
  "silenciarFinaisDeSemana": true
}

Histórico de Permissões

O campo historicoPermissao mantém o histórico de alterações:


Versão: 1.0
Última Atualização: Outubro de 2025
Responsável: Equipe de Desenvolvimento CordenaAi